語法 T? 是 System.Nullable<T> 的簡略表示法,其中 T 是實值型別。兩種格式可以互相變更
例: int? i = null; 是 Nullable<int> i = null; 的簡寫
可為 null 之型別的每個執行個體 (Instance) 有兩個公用唯讀屬性:
HasValue
HasValue 屬於 bool 型別。當變數包含非 null 的值時,該屬性會設定為 true。
Value
Value 的型別與基礎型別相同。如果 HasValue 為 true,Value 會包含有意義的值。如果 HasValue 為 false,存取 Value 將會擲回 InvalidOperationException。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int? x = null;//表示x可為null
if (x.HasValue)
{
System.Console.WriteLine(x.Value);
}
else
{
System.Console.WriteLine("x為null值");
}
Console.Read();
}
}
}